Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Code coverage



  When will resizing be triggered in Java HashMap?

HashMap is one of the most frequently used collection types in Java, it stores key-value pairs. Ideally it expects to use hash table which expects the data access time complexity to be O(1), however, due to hash conflicts, in reality, it uses linked list or red-black tree to store data which makes the worst case time complexity to be O(logn).  Although collections are using data structures like arrays and linked lists, unlike arrays, they will dynamically resize when there is not enough spa...

   JAVA,RESIZE,HASHMAP,THRESHOLD     2020-05-02 20:41:19

  Function Pointers in C are Underrated

The function pointer in C is, in my opinion, one of the most ignored gems of the language. It’s the kind of feature you rarely need, and then suddenly, one day, you find yourself in dire need of it, as evidenced by the real-life use-case below. If you don’t know what a function pointer is in the first place, here’s the meat of it: it gives you the ability to pass a function around like a normal variable. If you know Python / Ruby / Lisp, you might know it by the name...

   C,Pointer,Analysis     2012-03-24 05:23:09

  Removing all child nodes from an element

When manipulating the DOM, it's often useful to remove all child nodes from a specific element. This typically comes in handy when you're looking to replace the content of an element with a separate form element, such as an <input>, so the user can edit the actual value.Here's an example of something I recently created that illustrates my point:Get the Flash Player to see this player.These "dynamic form elements" are written to the page only when the...

   Js,DOM,Remove all children,Clear,JavaScript,Code     2011-10-19 10:04:23

  Scala, Patterns and The Perl Effect

He tried to understand that one concept for a couple of months before it made sense to him. Admittedly, partial functions are not intuitive for anyone who has been schooled in traditional programming, but still, looking at the problem he was trying to solve it seemed like James was required to expend too much effort relative to the simplicity of the problem (as he pointed out, now that he understands the concept it seems straightforward). He showed me the code, and it was basically a situa...

   Scala,Perl,Pattern,Partial function,Template     2011-12-21 09:25:41

  Useful git commands in daily work

In a developer's daily work, it is frequent to see lots of commits made. It would be a headache if one cannot use git commands well especially when in cases where some fixes need to be made on existing branches. There are some frequently used command such as git pull, git merge and git push. Apart from these, there are some other practical commands which may be useful for real use cases. This post will try to list some of them. git grep  It will lists all files containing the searched keywo...

   GIT,GIT COMMAND,GIT LOG     2022-05-01 03:17:15

  Some lovely software design quotes

  Every time when I read technical books, I like reading the quote of a famous person at the start of a chapter(if any), usually they are very interesting. Here is a collection of famous quotes. Life’s too short to build something nobody wants – Ash Maurya, Running Lean author Give someone a program, you frustrate them for a day; teach them how to program, you frustrate them for a lifetime. – David Leinweber There are two ways of constructing a software design: One way is...

   Quote,Software design     2012-10-13 09:13:34

  Add compiler argument to build Maven project

Maven is a software project to manage a project's build, reporting and documentation from a central piece of information. It's now widely used t build and deploy projects. It can help automatically maintain the dependencies of projects. There is a central project configuration file named pom.xml. Here you can configure the project you want to build.  In this post, we will show you how to add compiler argument when using javac to compile Java source code. Sometimes we need to pass compi...

   Maven,compiler argument, compiler option, Java 8     2015-04-10 21:59:00

  Writing unit tests for legacy code – an open letter to developers I work with

This is an email I sent today to developers who work with me, it is exactly as I wrote it except for project and developer names which I’ve redacted. Dear Developers, S asked me a difficult question today, and I think the answer (which took me a few minutes to arrive at) is worth sharing with all developers, mainly because many of you will surely face the exact same problem especially in [maintenance and enhancement] projects. By now I think it is crystal clear that one of our non-ne...

   Unit testing,Open letter     2012-02-09 05:39:56

  Use CSS calc to align an element vertically

calc function is a function introduced in CSS3, it can be used to calculate length values. There are a few good features which make it suitable for aligning an element vertically. One good part is that the operands can have different units like percentage, px, rem etc. This makes it very flexible when calculating the length value. One example: .rect{ margin-top:20px; height:50px; background:green; width:calc(100%-20px); } Here the left operand uses percentage while the right one ...

   CSS3,CALC,VERTICAL ALIGN     2019-08-23 20:30:23

  The 7 stages of refactoring

You have wanted to fix that module for ages. Just one look at it and you cringe. The documentation, the weird naming of functions, classes that are just plain weird. The module hobbeles along, but it is just plain dirty. The real programmer in you cringe, and when there finally is some time to refactor the module, you jump at it. Step 1 - Desperation  So you start to have a real good look at what you need to. Fix a class here, rename a few functions there, tear out a few function...

   Refactoring,Software,Desperation     2011-08-16 08:35:57